home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text.html;
-
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import java.awt.Shape;
- import javax.swing.SizeRequirements;
- import javax.swing.event.DocumentEvent;
- import javax.swing.text.AttributeSet;
- import javax.swing.text.BoxView;
- import javax.swing.text.CompositeView;
- import javax.swing.text.Element;
- import javax.swing.text.View;
- import javax.swing.text.ViewFactory;
- import javax.swing.text.html.CSS.Attribute;
-
- public class BlockView extends BoxView {
- private AttributeSet attr;
- private StyleSheet.BoxPainter painter;
-
- public BlockView(Element var1, int var2) {
- super(var1, var2);
- StyleSheet var3 = this.getStyleSheet();
- this.attr = var3.getViewAttributes(this);
- this.painter = var3.getBoxPainter(this.attr);
- this.setPropertiesFromAttributes();
- }
-
- void adjustSizeForCSS(int var1, SizeRequirements var2) {
- if (var1 == 0) {
- Object var3 = this.attr.getAttribute(Attribute.WIDTH);
- if (var3 != null) {
- int var4 = (int)((CSS.LengthValue)var3).getValue();
- var2.minimum = var2.preferred = var4;
- var2.maximum = Math.max(var2.maximum, var4);
- }
- } else {
- Object var5 = this.attr.getAttribute(Attribute.HEIGHT);
- if (var5 != null) {
- int var6 = (int)((CSS.LengthValue)var5).getValue();
- var2.minimum = var2.preferred = var6;
- var2.maximum = Math.max(var2.maximum, var6);
- }
- }
-
- }
-
- protected SizeRequirements calculateMajorAxisRequirements(int var1, SizeRequirements var2) {
- SizeRequirements var3 = super.calculateMajorAxisRequirements(var1, var2);
- this.adjustSizeForCSS(var1, var3);
- return var3;
- }
-
- protected SizeRequirements calculateMinorAxisRequirements(int var1, SizeRequirements var2) {
- SizeRequirements var3 = super.calculateMinorAxisRequirements(var1, var2);
- this.adjustSizeForCSS(var1, var3);
- return var3;
- }
-
- public void changedUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
- super.changedUpdate(var1, var2, var3);
- int var4 = var1.getOffset();
- if (var4 <= ((View)this).getStartOffset() && var4 + var1.getLength() >= ((View)this).getEndOffset()) {
- this.setPropertiesFromAttributes();
- }
-
- }
-
- public float getAlignment(int var1) {
- switch (var1) {
- case 0:
- return 0.0F;
- case 1:
- float var2 = ((BoxView)this).getPreferredSpan(1);
- View var3 = ((CompositeView)this).getView(0);
- float var4 = var3.getPreferredSpan(1);
- float var5 = (int)var2 != 0 ? var4 * var3.getAlignment(1) / var2 : 0.0F;
- return var5;
- default:
- throw new IllegalArgumentException("Invalid axis: " + var1);
- }
- }
-
- public AttributeSet getAttributes() {
- return this.attr;
- }
-
- public int getResizeWeight(int var1) {
- switch (var1) {
- case 0:
- return 1;
- case 1:
- return 0;
- default:
- throw new IllegalArgumentException("Invalid axis: " + var1);
- }
- }
-
- protected StyleSheet getStyleSheet() {
- HTMLDocument var1 = (HTMLDocument)((View)this).getDocument();
- return var1.getStyleSheet();
- }
-
- public void paint(Graphics var1, Shape var2) {
- Rectangle var3 = (Rectangle)var2;
- this.painter.paint(var1, (float)var3.x, (float)var3.y, (float)var3.width, (float)var3.height, this);
- super.paint(var1, var3);
- }
-
- protected void setPropertiesFromAttributes() {
- this.attr = this.getStyleSheet().getViewAttributes(this);
- if (this.attr != null) {
- ((CompositeView)this).setInsets((short)((int)this.painter.getInset(1, this)), (short)((int)this.painter.getInset(2, this)), (short)((int)this.painter.getInset(3, this)), (short)((int)this.painter.getInset(4, this)));
- }
-
- }
- }
-